Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Parallel computing is a typical solution to improve efficiency of multiple computing processes. The easiest type of parallel computing is the bag-of-tasks parallelization that allows computing nodes to share a list of target processes and to pick them one by one from the list, until the list is exhausted. However, such simple parallelization can't exploit the full capacity of core architecture of modern central processing units (hereinafter “CPU”) and heterogeneous network interface devices. As the utilization of multi-core CPU chips, multi-core GPU (Graphical Processing Unit) chips, multi-core CPU architecture embedded devices, and the like, are continually increased, the need for techniques to effectively utilizing these chips increases.
Modern smart devices, such as smart phones, support multiple and heterogeneous network interface devices supporting protocols such as 3G, LTE, GSM, Bluetooth, ZigBee, UWB, IrDA, and Wireless-USB, as will be understood to those skilled in the art.